import request from '@/config/axios'

// ERP基础资料-供应商资料 VO
export interface BaseSupplierVO {
  id: string // id
  supplierNumber: string // 供应商编号
  supplierNickName: string // 供应商简称
  supplierFullName: string // 供应商全称
  supplierPhone: string // 电话
  supplierFax: string // 传真
  supplierEmailAddress: string // Email
  supplierAddress: string // 供应商地址
  remark: string // 供应商备注
  supplierType: string // 供应商类型
  supplierStockedType: string // 供应商入库类型
  supplierNature: string // 供应商性质
  cardboardType: string // 纸板类型
  supplierContacts: string // 联系人
  deliveryDays: number // 供应商交货天数
  boardcardUnit: string // 供应商单位
  calculatePriceFormula: string // 金额计算方式
  weightRoundingMode: string // 总重量取舍
  areaRoundingMode: string // 总面积取舍
  volumeRoundingMode: string // 总体积取舍
  weightDecimalPlaces: number // 总重量位数
  areaDecimalPlaces: number // 总面积位数
  volumeRoundingPlaces: number // 总体积位数
  unitPriceDecimalPlaces: number // 单价保留小数位
  priceDecimalPlaces: number // 金额保留小数位
  unitPriceRoundingMode: string // 单价小数位截取方式
  priceRoundingMode: string // 金额小数位截取方式
  initialAmount: number // 期初欠款
  payMode: string // 付款方式
  bankAccountNumber: string // 对公账号
  bankAccountNumber1: string // 备用账号1
  bankAccountNumber2: string // 备用账号2
  bankOfDeposit: string // 开户行
  bankOfDepositAddress: string // 开户行地址
  taxNumber: string // 税号
  paymentCycle: number // 付款周期
  currency: string // 币别
  monthSettlementMode: string // 月结方式
  quoteTaxRate: number // 报价税率
  taxType: string // 税别
  discount: number // 折扣
  reconcileDay: number // 对账日
  accountingVoucherCode: string // 会计凭证代码
}

// ERP基础资料-供应商资料 API
export const BaseSupplierApi = {
  // 查询ERP基础资料-供应商资料分页
  getBaseSupplierPage: async (params: any) => {
    return await request.get({ url: `/erp/base-supplier/page`, params })
  },

  // 查询ERP基础资料-供应商资料详情
  getBaseSupplier: async (id: number) => {
    return await request.get({ url: `/erp/base-supplier/get?id=` + id })
  },

  // 新增ERP基础资料-供应商资料
  createBaseSupplier: async (data: BaseSupplierVO) => {
    return await request.post({ url: `/erp/base-supplier/create`, data })
  },

  // 修改ERP基础资料-供应商资料
  updateBaseSupplier: async (data: BaseSupplierVO) => {
    return await request.put({ url: `/erp/base-supplier/update`, data })
  },

  // 删除ERP基础资料-供应商资料
  deleteBaseSupplier: async (id: number) => {
    return await request.delete({ url: `/erp/base-supplier/delete?id=` + id })
  },

  // 导出ERP基础资料-供应商资料 Excel
  exportBaseSupplier: async (params) => {
    return await request.download({ url: `/erp/base-supplier/export-excel`, params })
  },

// ==================== 子表（ERP基础资料-供应商资料备注） ====================

  // 获得ERP基础资料-供应商资料备注列表
  getBaseSupplierRemarkListBySupplierId: async (supplierId) => {
    return await request.get({ url: `/erp/base-supplier/base-supplier-remark/list-by-supplier-id?supplierId=` + supplierId })
  }
}